public abstract class AbsSolution
{
    // 对于较大数的取余常数
    protected static final long MOD = (long) (1e9 + 7);

    protected int mod(long v)
    {
        return (int) (v % MOD);
    }

    /* XXX
   欧几里得算法又称辗转相除法，是指用于计算两个非负整数a，b的最大公约数。
   应用领域有数学和计算机两个方面。计算公式gcd(a,b) = gcd(b,a mod b)。
    */
    protected int gcd(int a, int b)
    {
        return b == 0 ? a : gcd(b, a % b);
    }
    protected int charToNumber(char c)
    {
        return c - '0';
    }
}
